home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1997 July / macformat52.iso / mac / Shareware Plus / Utilities / McPoet 4.2 / Rules / McPoet3.3.rules next >
Text File  |  1997-04-01  |  28KB  |  230 lines

  1. * Rules for McPoet
  2. ****** NOTE: THIS FIELD IS NOW ALMOST FULL.
  3. ****** YOU MAY NEED TO DELETE SOME RULES IN ORDER TO ADD YOUR OWN.
  4. ****** There is an internal limit of 32K characters per field.
  5. ****** The next version of McPoet will include multiple rule-fields.
  6. ** The following rule was auto-generated (with minor changes) from the first
  7. ** few lines of Lao Tzu's 'Tao Te Ching'. It's low frequency so that it won't
  8. ** come up too often in one session. This rule include McPoet's first
  9. ** rhyming verse!
  10. 10 Subject(TaoTeChing) < assign(TaoNoun,s_nouns) 100 > "The Tao that can be trodden is not the" 100 adjectives 100  { "and" 100 | "or" 100 } "" 100 adjectives 100 "Tao" 100 punctuate 100 macroReturnSpacing 100 " The" 100 < get(TaoNoun) 100 > "that can be named is not the enduring" 100 { "and" 100 | "or" 100 } adjectives 100 < get(TaoNoun) 100 > punctuate 100 macroReturnSpacing 100 "Conceived of as having no" 100 s_nouns 100 < backspace() 100 > ", it is the Originator of" 100 s_nouns 100 { "and" 100 | "or" 100 } s_nouns 100 < backspace() 100 > "; conceived of as having" 100 s_articles 100  s_nouns 100 " it is the" 100 s_nouns 100 "of all things" 100 punctuate 100 macroReturnSpacing 100 "Always without" 100 s_nouns 100 "we must be found," 100 macroReturnSpacing 100 "If its deep" 100 s_nouns 100 "we would sound;" 100 macroReturnSpacing 100 "But if" 100 s_nouns 100 "always within us be," 100 macroReturnSpacing 100 "Its outer" 100 s_nouns 100 "is" 100 { "all that we shall see" 100 |  "part of what we see" 100 |  "really part of me" 100 } punctuate 100 macroReturnSpacing 100 "Under these two" 100 p_nouns 100 ",  it is really the same; but as" 100 s_nouns 100 " takes place, it receives the different names" 100 punctuate 100 macroReturnSpacing 100 " Together we call them  the Mystery" 100 punctuate 100 macroReturnSpacing 100 " Where the" 100 s_nouns 100 "is the deepest, is the" 100 s_nouns 100 "of all that is subtle" 100 { "and" 100 | "or" 100 } "wonderful" 100 punctuate 100 macroReturnSpacing 100  "All" 100 adjectives 100 < backspace() 100 > ", the" 100 p_nouns 100 "know the" 100 s_nouns 100 "of the" 100 adjectives 100 < backspace() 100 > ", and doing this they" 100 p_verbsnob 100 " the" 100 s_nouns 100 "of what" 100 s_nouns 100 "is; they all know the" 100 s_nouns 100 " of the" 100 adjectives 100 < backspace() 100 > ", and doing this they" 100 p_verbsnob 100 " the" 100 s_nouns 100 "of what the " 100 s_nouns 100 "of" 100 s_nouns 100 "is" 100 { "!" 100 | "." 100 }
  11. *****
  12. *** The following rule set was derived entirely from two postings to the Dada 
  13. *** mailing list. I used 'Make A Rule' to turn the posting into one big rule, 
  14. *** and then manually divided it up into sentence-length rules. 
  15. *** One of the lines inspired the new  haiku rule at the end.
  16. 10 Subject(dada,people) "Fallen" 100 people 100 ",  an" 100 s_nouns 100 "of" 100 s_nouns 100 ". " 100 return 100 "   I lipsynch to your men" 100 return  100 people 100 "canonize your" 100 s_nouns 100 ". " 100 return 100 "               " 100 s_nouns 100 "of" 100 s_nouns 100 ". " 100 return 100 "  " 100 adjectives  100 s_nouns  100 p_nouns  100 p_verbsnob 100 "boldly." 100 return 100 " Are" 100 people 100 "not too" 100 adjectives  100 "to" 100 p_verbsnob 100 "easily?" 100 return 100 "                   A" 100  adjectives 100 s_nouns 100 ",  perhaps," 100 return 100 "that none but" 100 p_subjects 100 "are" 100  p_subjects 100 return 100 p_subjects 100  "are yours" 100 return 100 "      for the asking." 100 return 100 "There is a" 100 p_verbsnob  100 adjectives 100 "here." 100
  17. *
  18. 100 Subject(dada) p_subjects 100 "are" 100 "not" 50 p_subjects 100 
  19. *
  20. 50 Subject(dada) "        Everywhere,  concerned" 100 p_nouns 100 adverbs 100 p_verbsnob 100 punctuate 100 
  21. *
  22. 50 Subject(dada) s_nouns 100 "and" 100 s_nouns 100 return 100  p_verbsnob 100 "before the" 100 p_nouns 100 "of" 100 s_nouns 100 punctuate 100
  23. *
  24. 50 Subject(dada,people) people 100 s_verbs_to 100 adjectives 100 p_nouns 100 punctuate 100
  25. *
  26. 50 Subject(dada) "The" 100 adjectives 100 p_nouns 100 "of" 100 s_nouns 100 p_verbsnob 100 "on" 100 "a" 100 adjectives 100  people 100 "," 100 { "and" 100 | "or" 100 } "a" 100 attributes 100  s_nouns 100 punctuate 100
  27. *
  28. 100 Subject(dada) "        But" 100 "not" 50  p_subjects 100 p_verbsnob  100 s_nouns 100 "to" 100 p_verbsnob 100 "!" 100
  29. *
  30. 60 Subject(dada) "        " 100 { "Nowhere is there" 100 | "Everywhere there is" 100 | "We long for" 100 } { "organized" 100 | "unorganized" 100 | "disorganized" 100 } adjectives 100 s_nouns  100 punctuate 100
  31. *
  32. 50 Subject(dada) p_subjects 100 "must" 100 p_verbs_to 100 s_nouns 100 "on the" 100 adjectives 100 "mass of" 100 adjectives 50  adjectives 50  p_nouns  100 punctuate 100
  33. *
  34. 50 Subject(dada,people) macroPerson 100 "practices modern" 100 s_nouns 100 "while a frenzy of" 100 p_nouns 100 { s_verbs_to 100 |  s_verbs_from 100 } return 30 "the" 100 adjectives 100 s_nouns 100 punctuate 100
  35. *
  36. 50 Subject(dada) "        The" 70 adjectives 100 s_nouns 100 "will be worshipped." 100
  37. *
  38. 50 Subject(dada,people) "Not" 50 p_subjects 100 "will be" 100 people 100 < backspace() 100 > "-" 100 < backspace() 100 > adjectives 100 "!" 100
  39. *
  40. 50 Subject(dada,people) p_nouns 100 "gather in" 100 adjectives  100 people 100 "crowds, smoking" 100 return 30 s_nouns 100 " and burning" 100 s_nouns 100 "to keep" 100 attributes 100 punctuate 100
  41. *
  42. 50 Subject(dada) s_objects 100 "'s" 100 p_nouns  100 p_verbsnob 100 return 50 "from the" 100 p_nouns 100 punctuate 100
  43. *
  44. 50 Subject(dada) "Not" 50 "your" 100 adjectives 100 s_nouns 100 s_verbsnob 100 s_objects 100 "'s" 100 s_nouns 100
  45. *
  46. 30 Subject(dada,people) < random(10) 100 >  p_nouns 100 "put" 100 s_nouns 100 "on" 100 "not" 50 people 100 punctuate 100
  47. *
  48. 30 Subject(dada,haiku) { p_subjects 100 "have been" 100 "not" 50 p_subjects 100 | p_subjects 100 "are" 100 "not" 50 p_subjects 100 | p_subjects 100 "are" 100 "not" 50 s_subjects 100 | p_subjects 100 "are" 100 "not" 50 attributes 100 | "I am" 100 "not" 50 p_subjects 100 | adjectives 100 s_nouns 100 "is" 100 "not" 50 "a" 100 adjectives 100 s_nouns 100 } return 100 { p_subjects 100 "have been" 100 "not" 50 p_subjects 100 punctuate 100 | p_subjects 100 "are" 100 "not" 50 p_subjects 100 | "a" 100 adjectives 100 s_nouns 100 "is" 100 "not" 50 "a" 100 adjectives 100 s_nouns 100 } return 100 { p_subjects 100 "have been" 100 "not" 50 p_subjects 100 punctuate 100 | p_subjects 100 "are" 100 "not" 50 p_subjects 100 | s_objects 100 "is" 100 "not" 50 s_objects 100 | "so is" 100 s_objects 100 s_objects 100 "?" 100 | "so is" 100 s_objects 100 "a" 100 attributes 50 s_nouns 100 "?" 100 } return 100
  49. ***
  50. 100 subject(people) { macroPerson 100 | s_objects 100 } macroReturnSpacing 20 { "will become" 100 | "is actually" 100 | "will play the role of" 100 } macroReturnSpacing 20 { macroPerson 100  | s_objects 100 } "." 100
  51. ***
  52. 100 subject(people,questions,answers) < assign(Pers,people) 100 > < assign(att1,attributes) 100 > < assign(ob1,s_objects) 100 > { "why does" 100 | "why did" 100 } macroReturnSpacing 20 s_articles 100 < get(att1) 100 > < get(Pers) 100 > p_verbs_to  100 < get(ob1) 100 > "?" 100 macroReturnSpacing 100 "because" 100  { < get(ob1) 100 > "is" 100 "also" 30 macroReturnSpacing 20 < get(att1) 100 > | "that" 100 < get(Pers) 100 > "is" 100 "also" 30 adjectives 100 } "." 100
  53. ***
  54. 100 subject(pronouncements) < assign(TimeArt,s_articles) 100 > < assign(TimeNoun,s_nouns) 100 > "If" 100 < get(TimeArt) 100 > macroReturnSpacing 20 < get(TimeNoun) 100 > "had" 100 macroReturnSpacing 20 "the" 100 { "power" 100 | "ability" 100 } macroReturnSpacing 20 "to change" 100 macroReturnSpacing 20 s_objects 100 macroReturnSpacing 20 { "I'd ask for" 100 | "I'd demand" 100 | "I'd pray for" 100 | "I'd request" 100 } { "it" 100 | p_nouns 100 | < get(TimeArt) 100 > < get(TimeNoun) 100 > | s_objects 100 } macroReturnSpacing 20 "to become" 100  macroReturnSpacing 20 { "more" 80 | "less" 80 | "increasingly" 80 | "decreasingly" 80 }  macroReturnSpacing 20 adjectives 100 "."
  55. ***
  56. 100 subject(pronouncements) "If" 100 { s_objects 100 | macroPerson 100 } "had" 100 macroReturnSpacing 20 "the" 100 { "power" 100 | "ability" 100 } "and the desire" 5 macroReturnSpacing 20 "to change" 100 macroReturnSpacing 20 s_objects 100 "," 100 macroReturnSpacing 20 "I'd ask to" 100 macroReturnSpacing 20 p_verbs_to 100 { macroSNP 100 | macroPNP 100 } punctuate 100
  57. ***
  58. 100 subject(pronouncements) "If" 100 s_objects 100 "had" 100 macroReturnSpacing 20 "the power" 100 macroReturnSpacing 20 "to change" 100 macroReturnSpacing 20 s_objects 100 "," 100 macroReturnSpacing 20 "I'd ask for" 100 { s_objects 100 | "it" 100 | p_nouns 100 } macroReturnSpacing 20 "to become" 100 { "more" 80 | "less" 80 | "increasingly" 80 | "decreasingly" 80 } adjectives 100
  59. ***
  60. 100 subject(pronouncements) "If" 100 { s_objects 100 | macroPerson 100 } "had" 100 macroReturnSpacing 20 "the power" 100 macroReturnSpacing 20 "to change" 100 macroReturnSpacing 20 s_objects 100 "," 100 macroReturnSpacing 20 "I'd ask" 100 { "for" 100 adjectives 50 s_articles 100 s_nouns 100 "to" 100 macroPPto 100 | "for" 100 adjectives 50 p_nouns 100 "to" 100 macroPPPto 100 | "that" 100 adjectives 50 p_nouns 100 p_verbsnob 100 adverbs 50 | "that" 100 adjectives 50 p_nouns 100 p_verbsnob 100 adverbs 50 } punctuate 70
  61. ***
  62. 100 macroSPVP 100 macroReturnSpacing 10 macroPNP 100
  63. ***
  64. 100 macroSSVP 100 macroReturnSpacing 10 macroSNP 100
  65. ***
  66. 100 < assign(MyVerb,s_verbsnob) 100 > < getsubject(name) 95 > < get(MyVerb) 100 > [ adverbs 20 ] { return 90 | punctuate 75 }
  67. ***
  68. 90 { [ < getsubject(possessive) 100 > adjectives 50 s_nouns 100 s_verbs_to 100 macroSNP 100 punctuate 100 return 80 ] | [ < getsubject(pronoun) 100 > s_verbs_to 100 macroSNP 100 punctuate 100 macroReturnSpacing 80 ] }
  69. ***
  70. 30 subject(similes) { < getsubject(name) 100 >  | s_objects 100 } "is" 100 macroReturnSpacing 20 macroSNP 100 macroReturnSpacing 20 "of" 100 macroReturnSpacing 5 macroSNP 100 "!" 100
  71. ***
  72. 100 subject(pronouncements) "It's" 100 < random(100)  100 > "percent sure that" 100 macroReturnSpacing 20 { macroSNP 100 | s_objects 100 } macroReturnSpacing 20 macroEConnect 100 macroReturnSpacing 20 { macroSNP 100 | s_objects 100 } { ":" 100 macroReturnSpacing 75 "they both" 100 macroPVP 100 | ":" 100 macroReturnSpacing 75 "neither one" 100 macroSVP 100 }
  73. *
  74. 100 < getsubject(name) 100 > s_verbsnob 100 [ adverbs 20 ] { macroReturnSpacing 80 | punctuate 75 } < getsubject(pronoun) 100 > macroSVP 100
  75. *
  76. 100 Subject(similes) < assign(MyNoun,s_nouns) 100 > s_articles 100 adjectives 100 [ adjectives 5 ] < Get(MyNoun) 100 > macroEConnect 100  macroReturnSpacing 20 s_articles 100 adjectives 100 [ adjectives 5 ] < Get(MyNoun) 100 >
  77. *
  78. 100 Subject(similes) { macroSNP 100 | s_objects 100 } macroEConnect 100 macroReturnSpacing 20 { macroSNP 100 | s_objects 100 } ":" 100 macroReturnSpacing 100 "they both" 100 macroPVP 100
  79. *
  80. 100 return 100
  81. *
  82. 100 Subject(money,questions) "Would you pay" 100 macroReturnSpacing 2 < random(100)  100 > "dollars" 100 macroReturnSpacing 20 { "for" 100 macroSNP 100 |   "to" 100 p_verbs_to 100 macroSNP 100 [ adverbs 5 ] | "to" 100 p_verbsnob 100 "with" 100 macroSNP 100 |  "to" 100 p_verbsnob 100 "with" 100 macroPerson 100 } "?" 100
  83. *
  84. 100 Subject(questions) "how" 50 "is" 100 macroReturnSpacing 20 { macroSNP 100 | s_objects 100 } "like" 100  { macroSNP 100 | s_objects 100 } "?" 100
  85. *
  86. 100 Subject(questions,answers) < assign(MyP,people) 100 > < assign(MyA,attributes) 100 > "why did the" 100 < get(MyA) 100 > macroReturnSpacing 20 < get(MyP) 100 > p_verbsnob 100 "?" 100 macroReturnSpacing 100 "because" 100 macroReturnSpacing 20 { "a" 100 < get(MyA) 100 > < get(MyP) 100 > "is" 100 macroPerson 100 | "a" 100 < get(MyA) 100 > < get(MyP) 100 > macroReturnSpacing 20 "is a" 100 attributes 100 attributes 30 < get(MyP) 100 > | s_nouns 100 s_verbsnob 100 } "." 100
  87. *
  88. 100 { macroSNP 100 | macroSNP 100 | macroSNP 100 | s_objects 100 } macroReturnSpacing 20 macroSVP 100
  89. *
  90. 100 { macroSNP 100 | macroSNP 100 | macroSNP 100 | s_objects 100 } macroReturnSpacing 20 macroPPto 100
  91. *
  92. 100 { macroSNP 100 | macroSNP 100 | macroSNP 100 | s_objects 100 } macroReturnSpacing 20 macroPPfrom 100
  93. *
  94. 100 { macroSNP 100 | macroSNP 100 | macroSNP 100 | s_objects 100 } macroReturnSpacing 20 macroPPfor 100
  95. *
  96. 100 subject(similes) { macroSNP 100  | s_objects 100 } macroEConnect 100 macroReturnSpacing 40 macroSNP 100 "of" 100 { macroSNP 100  | s_objects 100 }
  97. *
  98. 100 { macroSNP 100  | s_objects 100 } macroReturnSpacing 20 s_verbsnob 100 s_nouns 70 return 100
  99. *
  100. 100 Subject(sex) < SmutLevel(4) 100 > < useSize(random) 50 > "a" 100 s_nouns 100 "'s" 100  s_nouns 100 macroReturnSpacing 40 macroS4sverbsnob 100 s_articles 100 s_nouns 100 < useFont(random) 50 >
  101. *
  102. 100 Subject(sex) < SmutLevel(3) 100 > "a" 100 s_nouns 100 "'s" 100  s_nouns 100 macroReturnSpacing 20 macroS3sverbsnob 100 s_articles 100 s_nouns 100
  103. *
  104. 100 subject(sex) < SmutLevel(2) 100 > < assign(P1,people) 100 > < assign(A1,attributes) 100 > "why did the" 100 attributes 100 people 100 { "kiss" 100 | "make love to" 100 | "lust after" 100 | "write a love letter to" 100 | "try to" 50 "seduce" 100 } s_articles 100 < Get(A1) 100 > < Get(P1) 100 > "?" 100 macroReturnSpacing 100 { "perhaps" 50 | "maybe it was" 50 | "it might have been" 100 } "because that" 100 < Get(A1) 100 > < Get(P1) 100 > "was" 100 "also" 40 { "a" 100 people 100 | attributes 100 | adjectives 100 | macroSNP 100 } "." 100
  105. *
  106. 100  subject(sex) { "a" 100 adjectives 30 "kiss" 100 | "a" 100 adjectives 30 "love affair" 100 | "a" 100 adjectives 30 "romance" 100 | "a" 100 adjectives 30 "romantic relationship" 100 | "a" 100 "naked" 40 "snuggle" 100 | "a sensation of" 100 "naked" 50 "skin on" 100 "naked" 50 "skin" 100 | "a" 100 adjectives 30 "naked lover" 100 | "the feeling of love" 100 | "love" 100 | "sex" 100 } macroEconnect 100 { s_articles 100 s_nouns 100 < backspace() 100 > "-" 100 < backspace() 100 > s_nouns 100 | macroSNP 100 | s_articles 100 attributes 30 attributes 100 people 100 ":" 100 macroReturnSpacing 100 "both" 100 "think that they" 50 "are" 100 attributes 100 } punctuate 100
  107. *
  108. *haiku rules: write pseudo-haiku that ignores syllabic structure
  109. 100 Subject(haiku) < assign(HNoun,people) 100 >  { < Get(HNoun) 100 > s_verbsnob 100 adverbs 100 |  < Get(HNoun) 100 > ":" 100 attributes 100 s_nouns 100 } return 100 [ macrospacing 100 ] { s_verbsnob 100 s_nouns 100 adverbs 100  |  adverbs 100 "," 100 adverbs 100 "," 75 adverbs 100 |  adverbs 100 "," 75 adverbs 100 "," 75 attributes 100 | attributes 100 "," 25 attributes 100  "," 25 attributes 100 } return 100 { "a" 100 attributes 100 attributes 30 < Get(HNoun) 100 > | adjectives 100 attributes 100  s_nouns 100 | attributes 100 attributes 100  < Get(HNoun) 100 > | "Look!" 100 "a" 100 adjectives 100  people 100  | "Ah!" 100 "a" 100 adjectives 100  people 100 |  "this" 100  < Get(HNoun) 100 > "is" 100 attributes 100 | "that" 100 < Get(HNoun) 100 > "is" 100 attributes 100 } return 100
  110. *
  111. 100 Subject(haiku) s_articles 100 { adjectives 100 | attributes 100 } { people 100 | s_nouns 100 | animals 100 } return 100 { gerunds 100 adverbs 100 | adverbs 100 gerunds 100 | adverbs 100 "itself" 100 | adjectives 100 s_nouns 100 } prepositions 100 return 100 { adjectives 100 "," 100 adjectives 100 s_nouns 100 | adjectives 100 "," 100 adjectives 100 s_nouns_abs 100 | s_articles 100 adjectives 100 s_nouns 100 | s_articles 100 adjectives 100 s_nouns_abs 100 } return 100
  112. *
  113. 100 Subject(haiku) < assign(HNoun,s_nouns) 100 >  { < Get(HNoun) 100 > s_verbsnob 100 adverbs 100 |  < Get(HNoun) 100 > ":" 100 adjectives 100 s_nouns 100 } return 100 [ macrospacing 100 ] { s_verbsnob 100 s_nouns 100 adverbs 100  |  adverbs 100 "," 100 adverbs 100 "," 75 adverbs 100 |  adverbs 100 "," 75 adverbs 100 "," 75 adjectives 100 | adjectives 100 "," 25 adjectives 100  "," 25 adjectives 100 } return 100 { < Get(HNoun) 100 > "of" 100 adjectives 100 s_nouns 100 |  adjectives 100 adjectives 100  s_nouns 100 | adjectives 100 adjectives 100  < Get(HNoun) 100 > | "Look!" 100 "a" 100 adjectives 100  s_nouns 100  | "Aha!" 100 "a" 100 adjectives 100  s_nouns 100 } return 100
  114. *
  115. 100 Subject(haiku) < assign(HNoun,s_nouns) 100 > { s_articles 100 adjectives 100 < Get(HNoun) 100 >  |   adjectives 100 "," 100 adjectives 100  < Get(HNoun) 100 > } return 100 [ macrospacing 100 ] { s_articles 100  adjectives 100 s_nouns 100 |  s_nouns 100 "of" 100 s_nouns 100 } return 100 { s_verbs_to 100  s_articles 100 s_nouns 100 |  adverbs 100 "," 100 adverbs 100 "," 100 < Get(HNoun) 100 > } return 100
  116. *
  117. 100 Subject(haiku) < assign(AD1,adjectives) 100 > < assign(P1,people) 100 > < assign(A1,attributes) 100 > < assign(N1,s_nouns) 100 > { s_articles 100 < Get(A1) 100 > < Get(P1) 100 > | < Get(A1) 100 > < Get(P1) 100 > s_verbsnob 100 } return 100 { s_articles 100 < Get(AD1) 100 > s_nouns 100 | s_articles 100 < Get(A1) 100 > < Get(N1) 100 > | < Get(A1) 100 > < Get(N1) 100 > s_verbsnob 100 } return 100 { < Get(A1) 100 > < Get(N1) 100 > s_verbsnob 100 | s_articles 100  < Get(A1) 100 > < Get(P1) 100 > s_verbsnob 100 | < Get(AD1) 100 > "is" 100 "just" 10 "like" 30 < Get(A1) 100 > | s_articles 100 < Get(AD1) 100 > < Get(P1) 100 > | < Get(AD1) 100 > < Get(A1) 100 > < Get(P1) 100 > | "is" 100 "not" 30 < Get(AD1) 100 > < Get(A1) 100 > "?" 100 | "how" 30 "is" 100  s_articles 100 < Get(P1) 100 > < Get(AD1) 100 > "?" 100 | < Get(AD1) 100 > < Get(P1) 100 > s_verbsnob 100 | "a" 100  < Get(N1) 100 > "is a" 100 < Get(AD1) 100 > < Get(P1) 100 > | "is a" 100  < Get(N1) 100 > < Get(A1) 100 > "?" 100 } return 100
  118. *
  119. 100 < getsubject(name) 100 > macroReturnSpacing 20 s_verbsnob 100 adverbs 100 "." 100
  120. *
  121. 100 "but" 100 macroSNP 100 macroReturnSpacing 40 s_verbsnob 100 adverbs 60 punctuate 70
  122. *
  123. 100 Subject(exclamations) "no" 100 adjectives 75 s_nouns 100 macroReturnSpacing 20 s_verbsnob 100 adverbs 50 "!" 100
  124. *
  125. 100 Subject(exclamations) macroPNP 100 "will be" 100 macroReturnSpacing 20 [ adjectives 30 macroReturnSpacing 20 ] p_nouns 100  "!" 60
  126. *
  127. 100 < getsubject(name) 100 > s_verbs_for 100 macroReturnSpacing 50 macroSNP 100 "that" 100 macroReturnSpacing 25 < getsubject(pronoun) 100 > s_verbsnob 100
  128. *
  129. 100 Subject(similes) { macroSNP 100  | s_objects 100 } "is like" 100 macroReturnSpacing 20  { macroSNP 100 | macroPNP 100 | s_objects 100 } punctuate 60
  130. *
  131. 100 subject(nouns) { [ macroJustNouns 70 ] | s_articles 100 adjectives 100 adjectives 50  s_nouns 100 < backspace() 100 > "-" 100 < backspace() 100 > s_nouns 100 | p_articles 100 macroAdjectiveCombo 100 p_nouns 100 |  p_articles 100 adjectives 100 adjectives 50  s_nouns 100 < backspace() 100 > "-" 100 < backspace() 100 > p_nouns 100 |  s_articles 100 adjectives 50 s_nouns 100 | s_articles 100 adjectives 50 s_nouns 100 "of" 100 s_nouns 100 | s_articles 100 adjectives 50 s_nouns 100 "of" 100 s_objects 100 | macroPerson 100 "'s"  100 adjectives 50 s_nouns 100 | s_nouns 100  < backspace() 100 > ":" 100 "the" 100 s_nouns 100 "of" 100 s_nouns 100 }
  132. *****
  133. 100 subject(nouns,definitions) { adjectives 10 s_nouns 100  < backspace() 100 > ":" 100 "the" 90 adjectives 10 s_nouns 100 "of" 100 adjectives 10 s_nouns 100 | adjectives 10 s_nouns 100  < backspace() 100 > ":" 100 s_articles 80 adjectives 100 attributes 50 s_nouns 100 | adjectives 10 s_nouns 100  < backspace() 100 > ":" 100 adjectives 100 attributes 50 s_nouns 100 "for" 100 p_nouns 100  | adjectives 10 s_nouns 100  < backspace() 100 > ":" 100 s_articles 100 attributes 80 people 100 "'s" 100 adjectives 100 s_nouns 100 | macroPerson 100  < backspace() 100 > ":" 100 "the" 90 s_nouns 100 "'s" 100  attributes 30 s_nouns 100 } 
  134. *****
  135. 20 subject(nouns,definitions,alliteration) s_nouns 100 < backspace() 100 > ":" 100 "a" 30 < GetXWord(random,adjectives) 80 > < GetXWord(old,s_nouns) 100 > "'s" 100 < GetXWord(old,adjectives) 80 > < GetXWord(old,s_nouns) 100 >
  136. ***
  137. 100 Subject(similes) { macroSNP 100  | s_objects 100 } "is" 100 "not" 50  { "like" 50 | "an approach to understanding" 50 | "similar to" 50 | "a reminder of" 50 } macroReturnSpacing 20 { macroSNP 100 | macroPNP 100 | s_objects 100 } punctuate 60
  138. *
  139. 50 Subject(combinations) "Imagine" 100 macroReturnSpacing 20 { "a combination" 100 s_nouns 100 "/" 100 s_nouns 100 "!" 100 | s_articles 100 macroAdjectiveCombo 100 s_nouns 100 < backspace() 100 > "-" 100 < backspace() 100 > s_nouns 100 } 
  140. *
  141. 50 Subject(combinations) "Imagine combining" 100 [ adjectives 20 ] p_nouns 100 macroReturnSpacing 20 "with" 100 [ adjectives 20 ] p_nouns 100 "!" 100
  142. *
  143. 100 Subject(similes) macroPNP 100 macroReturnSpacing 20 { "are like" 100 | "provide a way of understanding" 100 | "are similar to" 100 | "are a reminder of" 50 } macroReturnSpacing 10 { macroSNP 100 | macroPNP 100 } macroReturnSpacing 10 punctuate 60
  144. *
  145. 100 macroPNP 100 macroReturnSpacing 20 macroSPTo 100 punctuate 60
  146. *
  147. 100 macroSNP 100 macroSVP 40 [ return 100 macroSpacing 20 macroAdverb 80 ]
  148. *
  149. 100 subject(injunctions) "do" 100 "not" 90 macroReturnSpacing 20 "simply" 10 p_verbs_from 100 macroReturnSpacing 50 adjectives 50 p_nouns 100 punctuate 70
  150. *
  151. 10 subject(injunctions) "listen to my words:" 100
  152. *
  153. 100 subject(injunctions) "try" 100 "not" 40 [ "to" 100 p_verbsnob 100 macroAdverb 50 ", " 100 macroReturnSpacing 100 ]
  154. *
  155. 100 subject(hopes) "may" 100 p_nouns 100 macroReturnSpacing 20 p_verbs_to 100 macroPNP 100 "!" 80
  156. *
  157. 100 "with" 100 p_nouns 100 ", " 100 macroReturnSpacing 25 < getsubject(name) 100 > macroSVP 100
  158. *
  159. 100 Subject(questions) "are" 100 macroReturnSpacing 20 "not" 50 macroReturnSpacing 20 adjectives 50 adjectives 10 p_nouns 100 adjectives 100 "?" 100
  160. *
  161. 100 Subject(questions,answers,explanations) "why are" 100 adjectives 75 p_nouns 100 macroReturnSpacing 50 adjectives 75 p_nouns 100 "?" 100 macroReturnSpacing 100 "because" 100  adjectives 75 p_nouns 100 macroReturnSpacing 20 p_verbsnob 100 adverbs 80 "." 100
  162. *
  163. 100 Subject(questions,answers,explanations) < assign(MyNouns,p_nouns) 100 > "why are" 100 [ adjectives 75 ]  < Get(MyNouns) 100 > macroReturnSpacing 50 "like" 50 adjectives 75 p_nouns 100 "?" 100 macroReturnSpacing 100 "because" 100  macroReturnSpacing 20 < Get(MyNouns) 100 > p_verbsnob 100 adverbs 80 "." 100
  164. *
  165. 100 Subject(questions) "how" 50  macroReturnSpacing 20 "is" 100 macroReturnSpacing 20 macroSNP 100 macroReturnSpacing 20 "like" 100 macroReturnSpacing 25 macroSNP 100 "?"  100
  166. *
  167. 100 Subject(questions,answers) < assign(MyOb,s_objects) 100 > "do you know why I" 100 { "love" 100 | "crave" 100 | "need" 100 | "adore" 100 | "respect" 100 | "dream about" 100 | "admire" 100 | "think so much about" 100 | "fantasize about" 100 } < Get(MyOb) 100 > "?" 100 macroReturnSpacing 100 "because" 100 < Get(MyOb) 100 > { "is" 100 "not" 50  "like" 50 s_objects 100 | "reminds me of" 100 s_objects 100 | "makes me think of" 100 s_objects 100 | macroEConnect 100 s_articles 100 adjectives 75 s_nouns 100 } "." 100
  168. *
  169. 100 Subject(similes) { "a" 100 adjectives 50 s_nouns 100 | s_objects 100 } "is" 100 macroReturnSpacing 25  { "a" 100 adjectives 50 s_nouns 100 | s_objects 100 } "." 100
  170. *
  171. 100 Subject(questions) [ "must" 100 macroPNP 100 macroReturnSpacing 30 p_verbsnob 100 macroAdverb 50 "?" 100 macroReturnSpacing 100 ]
  172. *
  173. 100 Subject(questions) "must" 100 macroSNP 100 adverbs 10 p_verbs_to 100 macroReturnSpacing 10 s_articles 100 adjectives 50 s_nouns 100 "?" 100 macroReturnSpacing 100
  174. *
  175. 100 macroSNP 100 's 100 s_nouns 100 macroReturnSpacing 20 s_verbsnob 100 macroAdverb 70 punctuate 70
  176. *
  177. 100 < getsubject(name) 100 > s_verbsnob 100 macroAdverb 30 punctuate 70
  178. *
  179. 100 p_subjects 100 p_verbsnob 100 macroAdverb 30 punctuate 70
  180. *
  181. 100 macroSNP 100 macroReturnSpacing 20 s_verbsnob 100 punctuate 70
  182. *
  183. 100 macroPNP 100 macroReturnSpacing 20 p_verbsnob 100 punctuate 70
  184. *
  185. 100 < getsubject(name) 100 > macroReturnSpacing 5 adverbs 30 macroReturnSpacing 10 s_verbs_for 100 s_objects 100 punctuate 70
  186. *
  187. 100 < getsubject(name) 100 > macroAdverb 20 macroReturnSpacing 30 s_verbs_for 100 macroSNP 100 punctuate 70
  188. *
  189. 100 macroSNP 100 adverbs 20 s_verbs_for 100 macroSNP 100 punctuate 70
  190. *
  191. 100 macroPNP 100 return 5 macroAdverb 20 p_verbs_for 100 macroPNP 100 punctuate 70
  192. *
  193. 100 macroPNP 100 macroAdverb 20 p_verbs_to 100 adjectives 20 macroReturnSpacing 5 s_objects 100 punctuate 70
  194. *
  195. 100 macroSNP 100 macroAdverb 20 s_verbs_to 100 macroReturnSpacing 20 adjectives 20 macroReturnSpacing 5 s_objects 100 punctuate 70
  196. *
  197. 100 macroSNP 100 macroReturnSpacing 20 macroAdverb 20 macroReturnSpacing 5 s_verbs_to 100 macroReturnSpacing 10 macroSNP 100 punctuate 70
  198. *
  199. 100 macroPNP 100 macroReturnSpacing 5 macroAdverb 20 p_verbs_to 100 macroReturnSpacing 10 macroPNP 100 punctuate 70
  200. *
  201. 100 Subject(similes) macroPNP 100 "are like" 100 macroReturnSpacing 10 macroPNP 100 punctuate 100 macroReturnSpacing 100 "they" 100 macroReturnSpacing 3 "never" 20 p_verbs_to 100 macroReturnSpacing 5 s_objects 100 punctuate 70
  202. *
  203. 100 Subject(similes) macroPNP 100 macroReturnSpacing 20 "are like" 100 return 10 macroPNP 100 punctuate 100 macroReturnSpacing 100 "they" 100 macroReturnSpacing 5 "never" 20 p_verbs_from 100 macroReturnSpacing 20 s_objects 100 punctuate 70
  204. *
  205. 100 Subject(similes) macroPNP 100 "are like" 100 macroReturnSpacing 10 macroPNP 100 punctuate 100 macroReturnSpacing 100 "they" 100 macroReturnSpacing 3 "never" 20 macroReturnSpacing 3 p_verbsnob 100 adverbs 70 punctuate 70
  206. *
  207. 100 Subject(similes) { macroSNP 100 | s_objects 100 } "is like" 100 macroReturnSpacing 10 { macroSNP 100 | s_objects 100 } punctuate 100 macroReturnSpacing 100 "it" 100 "never" 20 s_verbs_to 100 s_objects 100 punctuate 70
  208. *
  209. 100 Subject(similes) { macroSNP 100 | s_objects 100 } "is like" 100 macroReturnSpacing 10 { macroSNP 100 | s_objects 100 } punctuate 100 macroReturnSpacing 100 "it" 100 macroReturnSpacing 3 "never" 30 macroReturnSpacing 5 s_verbs_from 100 macroReturnSpacing 20 s_objects 100 punctuate 70
  210. *
  211. 100 Subject(similes) { macroSNP 100 | s_objects 100 } "is like" 100 macroReturnSpacing 20 { macroSNP 100 | s_objects 100 } punctuate 100 macroReturnSpacing 100 "it" 100 "never" 20 s_verbsnob 100 adverbs 70 punctuate 70
  212. *
  213. 100 { macroSNP 100 | s_objects 100 } macroAdverb 20 macroReturnSpacing 20 s_verbs_from 100 macroReturnSpacing 5 { macroSNP 100 | s_objects 100 } punctuate 70
  214. *
  215. 100 { macroSNP 100 | s_objects 100 } macroAdverb 20 macroReturnSpacing 25 s_verbs_from 100 macroReturnSpacing 20 adjectives 20 macroReturnSpacing 5 s_objects 100 punctuate 70
  216. *
  217. 100 macroPNP 100 macroAdverb 20 macroReturnSpacing 50 macroPPPfrom 100 punctuate 70
  218. *
  219. 100 < getSubject(name) 100 > [ { s_verbs_from 100 < getsubject(possessive) 100 > s_nouns 100 | s_verbs_to 100 s_objects 100 }  "," 100 ] macroReturnSpacing 100
  220. *
  221. 100 Subject(explanations,pronouncements) macroPNP 100 { "reveal" 100 | "explain" 100 | "shed light upon" 100 | "help us makes sense of " 100 | "offer a path to understanding" 100 } macroSNP 100
  222. *
  223. 100 Subject(explanations,pronouncements) { macroSNP 100 | s_objects 100 } { "reveals" 100 | "explains" 100 | "sheds light upon" 100 | "helps us makes sense of " 100 | "offers a path to understanding" 100 } { macroSNP 100 | s_objects 100 }
  224. *
  225. * Alliteration rules
  226. 100 Subject(alliteration) s_articles 100  < GetXWord(random,adjectives) 100 > < GetXWord(old,adjectives) 100 > < GetXWord(old,s_nouns) 100 > < GetXWord(old,s_verbsnob) 100 > < GetXWord(old,adverbs) 100 > punctuate 100
  227. *
  228. 100 Subject(alliteration) p_articles 100  < GetXWord(random,adjectives) 100 > < GetXWord(old,adjectives) 100 > < GetXWord(old,p_nouns) 100 > "and" 100 < GetXWord(random,adjectives) 100 > < GetXWord(old,adjectives) 100 > < GetXWord(old,p_nouns) 100 > < GetXWord(random,p_verbsnob) 100 > < GetXWord(old,adverbs) 100 > "and" 100 < GetXWord(old,p_verbsnob) 100 > < GetXWord(old,adverbs) 100 > punctuate 100
  229. ****
  230. 100 macroPNP 100 macroAdverb 20 macroReturnSpacing 10 p_verbs_from 100 adjectives 20 s_objects 100 punctuate 70